// coupon.js

var app = getApp()
var requests = require('../../requests/api.js');
import util from '../../utils/util.js'

Page({

  /**
   * 页面的初始数据
   */
  data: {

    prompt: {
      hidden: !0,
      icon: '../../assets/coupons/default-coupons.png',
      title: '没有优惠券哦~',
    },

    //没有更多
    loading: true, //加载框是否显示
    searchLoading: false, //把"上拉加载"的变量设为true，显示  
    searchLoadingComplete: false, //把“没有数据”设为false，隐藏  
    couponArray: [

    ],
    isOrderEntrance: false,
    couponId: 212296,
    page: 1,
    pageSize: 10,
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function(options) {
    new app.WeToast();
    if (options.entrance) {
      this.setData({
        page: 1, //分页从第一页开始加载
        couponArray: [], //初始化商品数组
        searchLoading: true, //把"上拉加载"的变量设为true，显示  
        searchLoadingComplete: false, //把“没有数据”设为false，隐藏  

        couponId: options.couponid,
        isOrderEntrance: true,
      })
      this.request_couponData(this.data.page);
    } else {
      this.setData({
        page: 1, //分页从第一页开始加载
        couponArray: [], //初始化商品数组
        searchLoading: true, //把"上拉加载"的变量设为true，显示  
        searchLoadingComplete: false //把“没有数据”设为false，隐藏  
      });
      this.request_couponData(this.data.page); //加载产品列表数据
    }
  },

  //NET
  request_couponData: function(page) {
    //网络请求的时候先把加载框加出来
    const self = this;
    self.setData({
      loading: false,
    });
    var params = {
      currentPage: page,
      pageSize: this.data.pageSize
    };

    if (this.data.isOrderEntrance) {
      self.useable_coupons(params)
    } else {
      self.my_coupons(params)
    }

  },

  //我的优惠券列表
  my_coupons: function(params) {
    const self = this;

    requests.get_coupons(params, (res) => {
      console.log(res)
      if (res.data.couponList.length == 0) { //没有数据
        self.setData({
          searchLoadingComplete: true, //把“没有数据”设为true，显示

        })
      } else { //说明还有数据
        self.setData({
          searchLoadingComplete: false, //把“没有数据”设为false，隐藏  

        })
      };
      var couponArr = self.data.couponArray;
      couponArr = couponArr.concat(res.data.couponList);
      self.setData({
        loading: true, //隐藏加载框
        couponArray: couponArr, //给数组赋值，
        'prompt.hidden': couponArr.length,

      })

    }, (data) => {
      self.setData({
        searchLoadingComplete: true, //把“没有数据”设为true，显示
        loading: true //隐藏加载框
      })
      if (util.alertNetworkError(data)) {
        self.wetoast.toast({
          title: data.resMsg,
        })
      }

    }, () => {
      self.setData({
        searchLoading: false //把"上拉加载"的变量设为false，隐藏  

      })
    });
  },

  //可用优惠券列表
  useable_coupons: function(params) {
    const self = this;
    let currentPage = self.data.page
    params["currentPage"] = currentPage;
    requests.get_useableCoupons(params, (res) => {

      if (res.data.length == 0) { //没有数据
        self.setData({
          searchLoadingComplete: true, //把“没有数据”设为true，显示

        })
      } else { //说明还有数据
        self.setData({
          searchLoadingComplete: false, //把“没有数据”设为false，隐藏  

        })
      };
      var couponArr = self.data.couponArray;
      couponArr = couponArr.concat(res.data.couponList);
      self.setData({
        loading: true, //隐藏加载框
        couponArray: couponArr, //给数组赋值
        'prompt.hidden': couponArr.length,

      })

    }, (data) => {
      self.setData({
        searchLoadingComplete: true, //把“没有数据”设为true，显示
        loading: true //隐藏加载框
      })
      if (util.alertNetworkError(data)) {
        self.wetoast.toast({
          title: data.resMsg,
        })
      }

    }, () => {
      self.setData({
        searchLoading: false //把"上拉加载"的变量设为false，隐藏  

      })
    });
  },

  //不使用优惠券 点击事件
  no_use_click: function(event) {
    if (this.data.isOrderEntrance) {
      var pages = getCurrentPages();
      var prevPage = pages[pages.length - 2]
      prevPage.setCoupon(null)
      wx.navigateBack()
    }
  },

  //优惠券 点击事件
  onCouponClick: function(event) {
    if (event.currentTarget.dataset.coupon.status == 0) { //优惠券不可使用
      return
    }
    if (this.data.isOrderEntrance) {
      var pages = getCurrentPages();
      var prevPage = pages[pages.length - 2]
      prevPage.setCoupon(event.currentTarget.dataset.coupon)
      wx.navigateBack()
    }
  },

  //上拉触底
  moreData: function() {
    let that = this;
    //如果还有数据就继续加载
    if (!that.data.searchLoading && !that.data.searchLoadingComplete) {
      that.setData({
        page: that.data.page + 1
      })
      that.setData({
        searchLoading: true //把"上拉加载"的变量设为false，隐藏

      })
      that.request_couponData(that.data.page)

    }
  },

  /**
   * 当页面滑动到底部时触发的方法,删掉这个方法后控制台会报事件警告
   */
  onReachBottom: function() {},

})